[INFO] cloning repository https://github.com/robinhundt/wl-lang
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/robinhundt/wl-lang" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frobinhundt%2Fwl-lang", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frobinhundt%2Fwl-lang'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 2d79600cfe8191f4a15bdddcadfaf3e036e0d963
[INFO] testing robinhundt/wl-lang against try#28f95933dc0727396c07b48d0a8cb5211b7fb472 for pr-154065-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frobinhundt%2Fwl-lang" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/robinhundt/wl-lang
[INFO] finished tweaking git repo https://github.com/robinhundt/wl-lang
[INFO] tweaked toml for git repo https://github.com/robinhundt/wl-lang written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/robinhundt/wl-lang on toolchain 28f95933dc0727396c07b48d0a8cb5211b7fb472
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/robinhundt/wl-lang already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded radium v0.5.3
[INFO] [stderr]   Downloaded nom_locate v3.0.0
[INFO] [stderr]   Downloaded bytecount v0.6.2
[INFO] [stderr]   Downloaded bitvec v0.19.5
[INFO] [stderr]   Downloaded nom v6.1.2
[INFO] [stderr]   Downloaded lexical-core v0.7.5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 3e57d26ce40330e541507ad422d440663ccf3f0a4f1ca01b72d2494d4afcff43
[INFO] running `Command { std: "docker" "start" "-a" "3e57d26ce40330e541507ad422d440663ccf3f0a4f1ca01b72d2494d4afcff43", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3e57d26ce40330e541507ad422d440663ccf3f0a4f1ca01b72d2494d4afcff43", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3e57d26ce40330e541507ad422d440663ccf3f0a4f1ca01b72d2494d4afcff43", kill_on_drop: false }`
[INFO] [stdout] 3e57d26ce40330e541507ad422d440663ccf3f0a4f1ca01b72d2494d4afcff43
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3db7ab34ddedbc352a8493dbd07838a0080684ec5f3e3bd503e0d113eb191669
[INFO] running `Command { std: "docker" "start" "-a" "3db7ab34ddedbc352a8493dbd07838a0080684ec5f3e3bd503e0d113eb191669", kill_on_drop: false }`
[INFO] [stderr]    Compiling radium v0.5.3
[INFO] [stderr]    Compiling ryu v1.0.5
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling memchr v2.3.4
[INFO] [stderr]    Compiling version_check v0.9.3
[INFO] [stderr]    Compiling lexical-core v0.7.5
[INFO] [stderr]    Compiling wyz v0.2.0
[INFO] [stderr]    Compiling funty v1.1.0
[INFO] [stderr]    Compiling arrayvec v0.5.2
[INFO] [stderr]    Compiling bytecount v0.6.2
[INFO] [stderr]    Compiling nom v6.1.2
[INFO] [stderr]    Compiling bitvec v0.19.5
[INFO] [stderr]    Compiling nom_locate v3.0.0
[INFO] [stderr]    Compiling wl-lang v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `nom::do_parse`
[INFO] [stdout]  --> src/parser.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use nom::do_parse;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nom::multi::many1`
[INFO] [stdout]  --> src/parser.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use nom::multi::many1;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `one_of`
[INFO] [stdout]  --> src/parser.rs:8:32
[INFO] [stdout]   |
[INFO] [stdout] 8 | use nom::character::complete::{one_of, alpha1, space0, multispace0, char};
[INFO] [stdout]   |                                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `map`
[INFO] [stdout]  --> src/parser.rs:9:34
[INFO] [stdout]   |
[INFO] [stdout] 9 | use nom::combinator::{recognize, map};
[INFO] [stdout]   |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> src/parser.rs:16:14
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn parse(input: &str) -> IResult<&str, Statement> {
[INFO] [stdout]    |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> src/parser.rs:20:20
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn parse_statement(input: Span) -> IResult<Span, Statement> {
[INFO] [stdout]    |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> src/parser.rs:78:25
[INFO] [stdout]    |
[INFO] [stdout] 78 | fn parse_arithmetic_exp(input: Span) -> IResult<Span, AExp> {
[INFO] [stdout]    |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> src/parser.rs:82:14
[INFO] [stdout]    |
[INFO] [stdout] 82 | fn parse_num(input: Span) -> IResult<Span, Statement> {
[INFO] [stdout]    |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> src/parser.rs:86:19
[INFO] [stdout]    |
[INFO] [stdout] 86 | fn parse_arith_op(input: Span) -> IResult<Span, AOp> {
[INFO] [stdout]    |                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> src/parser.rs:90:19
[INFO] [stdout]    |
[INFO] [stdout] 90 | fn parse_bool_exp(input: Span) -> IResult<Span, BExp> {
[INFO] [stdout]    |                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_statement` is never used
[INFO] [stdout]   --> src/parser.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn parse_statement(input: Span) -> IResult<Span, Statement> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_assignment` is never used
[INFO] [stdout]   --> src/parser.rs:32:4
[INFO] [stdout]    |
[INFO] [stdout] 32 | fn parse_assignment(i: Span) -> IResult<Span, Statement> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_ident` is never used
[INFO] [stdout]   --> src/parser.rs:42:4
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn parse_ident(i: Span) -> IResult<Span, Ident> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_skip` is never used
[INFO] [stdout]   --> src/parser.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn parse_skip(i: Span) -> IResult<Span, Statement> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_if` is never used
[INFO] [stdout]   --> src/parser.rs:50:4
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn parse_if(i: Span) -> IResult<Span, Statement> {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_while` is never used
[INFO] [stdout]   --> src/parser.rs:62:4
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn parse_while(i: Span) -> IResult<Span, Statement> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_seq` is never used
[INFO] [stdout]   --> src/parser.rs:72:4
[INFO] [stdout]    |
[INFO] [stdout] 72 | fn parse_seq(i: Span) -> IResult<Span, Statement> {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_arithmetic_exp` is never used
[INFO] [stdout]   --> src/parser.rs:78:4
[INFO] [stdout]    |
[INFO] [stdout] 78 | fn parse_arithmetic_exp(input: Span) -> IResult<Span, AExp> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_num` is never used
[INFO] [stdout]   --> src/parser.rs:82:4
[INFO] [stdout]    |
[INFO] [stdout] 82 | fn parse_num(input: Span) -> IResult<Span, Statement> {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_arith_op` is never used
[INFO] [stdout]   --> src/parser.rs:86:4
[INFO] [stdout]    |
[INFO] [stdout] 86 | fn parse_arith_op(input: Span) -> IResult<Span, AOp> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_bool_exp` is never used
[INFO] [stdout]   --> src/parser.rs:90:4
[INFO] [stdout]    |
[INFO] [stdout] 90 | fn parse_bool_exp(input: Span) -> IResult<Span, BExp> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ws` is never used
[INFO] [stdout]    --> src/parser.rs:145:4
[INFO] [stdout]     |
[INFO] [stdout] 145 | fn ws<I, O, E, F>(inner: F) -> impl FnMut(I) -> IResult<I, O, E>
[INFO] [stdout]     |    ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mws` is never used
[INFO] [stdout]    --> src/parser.rs:159:4
[INFO] [stdout]     |
[INFO] [stdout] 159 | fn mws<I, O, E, F>(inner: F) -> impl FnMut(I) -> IResult<I, O, E>
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parser.rs:16:21
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn parse(input: &str) -> IResult<&str, Statement> {
[INFO] [stdout]    |                     ^^^^             ^^^^  ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |                |
[INFO] [stdout]    |                     |                the same lifetime is elided here
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn parse(input: &str) -> IResult<&str, Statement<'_>> {
[INFO] [stdout]    |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused implementer of `FnMut` that must be used
[INFO] [stdout]   --> src/parser.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | /     alt((
[INFO] [stdout] 22 | |         parse_assignment,
[INFO] [stdout] 23 | |         parse_skip,
[INFO] [stdout] 24 | |         parse_if,
[INFO] [stdout] 25 | |         parse_while,
[INFO] [stdout] 26 | |         parse_seq
[INFO] [stdout] 27 | |     ));
[INFO] [stdout]    | |______^
[INFO] [stdout]    |
[INFO] [stdout]    = note: closures are lazy and do nothing unless called
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.78s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v6.1.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "3db7ab34ddedbc352a8493dbd07838a0080684ec5f3e3bd503e0d113eb191669", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3db7ab34ddedbc352a8493dbd07838a0080684ec5f3e3bd503e0d113eb191669", kill_on_drop: false }`
[INFO] [stdout] 3db7ab34ddedbc352a8493dbd07838a0080684ec5f3e3bd503e0d113eb191669
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6e30db789c995fc3ace001ecb6f963c909bd373c5d05e9b257c920043652f30a
[INFO] running `Command { std: "docker" "start" "-a" "6e30db789c995fc3ace001ecb6f963c909bd373c5d05e9b257c920043652f30a", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `nom::do_parse`
[INFO] [stdout]  --> src/parser.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use nom::do_parse;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nom::multi::many1`
[INFO] [stdout]  --> src/parser.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use nom::multi::many1;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `one_of`
[INFO] [stdout]  --> src/parser.rs:8:32
[INFO] [stdout]   |
[INFO] [stdout] 8 | use nom::character::complete::{one_of, alpha1, space0, multispace0, char};
[INFO] [stdout]   |                                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `map`
[INFO] [stdout]  --> src/parser.rs:9:34
[INFO] [stdout]   |
[INFO] [stdout] 9 | use nom::combinator::{recognize, map};
[INFO] [stdout]   |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> src/parser.rs:16:14
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn parse(input: &str) -> IResult<&str, Statement> {
[INFO] [stdout]    |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> src/parser.rs:20:20
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn parse_statement(input: Span) -> IResult<Span, Statement> {
[INFO] [stdout]    |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> src/parser.rs:78:25
[INFO] [stdout]    |
[INFO] [stdout] 78 | fn parse_arithmetic_exp(input: Span) -> IResult<Span, AExp> {
[INFO] [stdout]    |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> src/parser.rs:82:14
[INFO] [stdout]    |
[INFO] [stdout] 82 | fn parse_num(input: Span) -> IResult<Span, Statement> {
[INFO] [stdout]    |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> src/parser.rs:86:19
[INFO] [stdout]    |
[INFO] [stdout] 86 | fn parse_arith_op(input: Span) -> IResult<Span, AOp> {
[INFO] [stdout]    |                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> src/parser.rs:90:19
[INFO] [stdout]    |
[INFO] [stdout] 90 | fn parse_bool_exp(input: Span) -> IResult<Span, BExp> {
[INFO] [stdout]    |                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_statement` is never used
[INFO] [stdout]   --> src/parser.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn parse_statement(input: Span) -> IResult<Span, Statement> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_assignment` is never used
[INFO] [stdout]   --> src/parser.rs:32:4
[INFO] [stdout]    |
[INFO] [stdout] 32 | fn parse_assignment(i: Span) -> IResult<Span, Statement> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_ident` is never used
[INFO] [stdout]   --> src/parser.rs:42:4
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn parse_ident(i: Span) -> IResult<Span, Ident> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_skip` is never used
[INFO] [stdout]   --> src/parser.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn parse_skip(i: Span) -> IResult<Span, Statement> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_if` is never used
[INFO] [stdout]   --> src/parser.rs:50:4
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn parse_if(i: Span) -> IResult<Span, Statement> {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_while` is never used
[INFO] [stdout]   --> src/parser.rs:62:4
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn parse_while(i: Span) -> IResult<Span, Statement> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_seq` is never used
[INFO] [stdout]   --> src/parser.rs:72:4
[INFO] [stdout]    |
[INFO] [stdout] 72 | fn parse_seq(i: Span) -> IResult<Span, Statement> {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_arithmetic_exp` is never used
[INFO] [stdout]   --> src/parser.rs:78:4
[INFO] [stdout]    |
[INFO] [stdout] 78 | fn parse_arithmetic_exp(input: Span) -> IResult<Span, AExp> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_num` is never used
[INFO] [stdout]   --> src/parser.rs:82:4
[INFO] [stdout]    |
[INFO] [stdout] 82 | fn parse_num(input: Span) -> IResult<Span, Statement> {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_arith_op` is never used
[INFO] [stdout]   --> src/parser.rs:86:4
[INFO] [stdout]    |
[INFO] [stdout] 86 | fn parse_arith_op(input: Span) -> IResult<Span, AOp> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_bool_exp` is never used
[INFO] [stdout]   --> src/parser.rs:90:4
[INFO] [stdout]    |
[INFO] [stdout] 90 | fn parse_bool_exp(input: Span) -> IResult<Span, BExp> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ws` is never used
[INFO] [stdout]    --> src/parser.rs:145:4
[INFO] [stdout]     |
[INFO] [stdout] 145 | fn ws<I, O, E, F>(inner: F) -> impl FnMut(I) -> IResult<I, O, E>
[INFO] [stdout]     |    ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mws` is never used
[INFO] [stdout]    --> src/parser.rs:159:4
[INFO] [stdout]     |
[INFO] [stdout] 159 | fn mws<I, O, E, F>(inner: F) -> impl FnMut(I) -> IResult<I, O, E>
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parser.rs:16:21
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn parse(input: &str) -> IResult<&str, Statement> {
[INFO] [stdout]    |                     ^^^^             ^^^^  ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |                |
[INFO] [stdout]    |                     |                the same lifetime is elided here
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn parse(input: &str) -> IResult<&str, Statement<'_>> {
[INFO] [stdout]    |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling wl-lang v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused implementer of `FnMut` that must be used
[INFO] [stdout]   --> src/parser.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | /     alt((
[INFO] [stdout] 22 | |         parse_assignment,
[INFO] [stdout] 23 | |         parse_skip,
[INFO] [stdout] 24 | |         parse_if,
[INFO] [stdout] 25 | |         parse_while,
[INFO] [stdout] 26 | |         parse_seq
[INFO] [stdout] 27 | |     ));
[INFO] [stdout]    | |______^
[INFO] [stdout]    |
[INFO] [stdout]    = note: closures are lazy and do nothing unless called
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nom::do_parse`
[INFO] [stdout]  --> src/parser.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use nom::do_parse;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nom::multi::many1`
[INFO] [stdout]  --> src/parser.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use nom::multi::many1;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `one_of`
[INFO] [stdout]  --> src/parser.rs:8:32
[INFO] [stdout]   |
[INFO] [stdout] 8 | use nom::character::complete::{one_of, alpha1, space0, multispace0, char};
[INFO] [stdout]   |                                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `map`
[INFO] [stdout]  --> src/parser.rs:9:34
[INFO] [stdout]   |
[INFO] [stdout] 9 | use nom::combinator::{recognize, map};
[INFO] [stdout]   |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> src/parser.rs:16:14
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn parse(input: &str) -> IResult<&str, Statement> {
[INFO] [stdout]    |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> src/parser.rs:20:20
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn parse_statement(input: Span) -> IResult<Span, Statement> {
[INFO] [stdout]    |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> src/parser.rs:78:25
[INFO] [stdout]    |
[INFO] [stdout] 78 | fn parse_arithmetic_exp(input: Span) -> IResult<Span, AExp> {
[INFO] [stdout]    |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> src/parser.rs:82:14
[INFO] [stdout]    |
[INFO] [stdout] 82 | fn parse_num(input: Span) -> IResult<Span, Statement> {
[INFO] [stdout]    |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> src/parser.rs:86:19
[INFO] [stdout]    |
[INFO] [stdout] 86 | fn parse_arith_op(input: Span) -> IResult<Span, AOp> {
[INFO] [stdout]    |                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> src/parser.rs:90:19
[INFO] [stdout]    |
[INFO] [stdout] 90 | fn parse_bool_exp(input: Span) -> IResult<Span, BExp> {
[INFO] [stdout]    |                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_statement` is never used
[INFO] [stdout]   --> src/parser.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn parse_statement(input: Span) -> IResult<Span, Statement> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_assignment` is never used
[INFO] [stdout]   --> src/parser.rs:32:4
[INFO] [stdout]    |
[INFO] [stdout] 32 | fn parse_assignment(i: Span) -> IResult<Span, Statement> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_skip` is never used
[INFO] [stdout]   --> src/parser.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn parse_skip(i: Span) -> IResult<Span, Statement> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_if` is never used
[INFO] [stdout]   --> src/parser.rs:50:4
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn parse_if(i: Span) -> IResult<Span, Statement> {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_while` is never used
[INFO] [stdout]   --> src/parser.rs:62:4
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn parse_while(i: Span) -> IResult<Span, Statement> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_seq` is never used
[INFO] [stdout]   --> src/parser.rs:72:4
[INFO] [stdout]    |
[INFO] [stdout] 72 | fn parse_seq(i: Span) -> IResult<Span, Statement> {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_arithmetic_exp` is never used
[INFO] [stdout]   --> src/parser.rs:78:4
[INFO] [stdout]    |
[INFO] [stdout] 78 | fn parse_arithmetic_exp(input: Span) -> IResult<Span, AExp> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_num` is never used
[INFO] [stdout]   --> src/parser.rs:82:4
[INFO] [stdout]    |
[INFO] [stdout] 82 | fn parse_num(input: Span) -> IResult<Span, Statement> {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_arith_op` is never used
[INFO] [stdout]   --> src/parser.rs:86:4
[INFO] [stdout]    |
[INFO] [stdout] 86 | fn parse_arith_op(input: Span) -> IResult<Span, AOp> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_bool_exp` is never used
[INFO] [stdout]   --> src/parser.rs:90:4
[INFO] [stdout]    |
[INFO] [stdout] 90 | fn parse_bool_exp(input: Span) -> IResult<Span, BExp> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ws` is never used
[INFO] [stdout]    --> src/parser.rs:145:4
[INFO] [stdout]     |
[INFO] [stdout] 145 | fn ws<I, O, E, F>(inner: F) -> impl FnMut(I) -> IResult<I, O, E>
[INFO] [stdout]     |    ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mws` is never used
[INFO] [stdout]    --> src/parser.rs:159:4
[INFO] [stdout]     |
[INFO] [stdout] 159 | fn mws<I, O, E, F>(inner: F) -> impl FnMut(I) -> IResult<I, O, E>
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parser.rs:16:21
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn parse(input: &str) -> IResult<&str, Statement> {
[INFO] [stdout]    |                     ^^^^             ^^^^  ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |                |
[INFO] [stdout]    |                     |                the same lifetime is elided here
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn parse(input: &str) -> IResult<&str, Statement<'_>> {
[INFO] [stdout]    |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused implementer of `FnMut` that must be used
[INFO] [stdout]   --> src/parser.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | /     alt((
[INFO] [stdout] 22 | |         parse_assignment,
[INFO] [stdout] 23 | |         parse_skip,
[INFO] [stdout] 24 | |         parse_if,
[INFO] [stdout] 25 | |         parse_while,
[INFO] [stdout] 26 | |         parse_seq
[INFO] [stdout] 27 | |     ));
[INFO] [stdout]    | |______^
[INFO] [stdout]    |
[INFO] [stdout]    = note: closures are lazy and do nothing unless called
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.53s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v6.1.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "6e30db789c995fc3ace001ecb6f963c909bd373c5d05e9b257c920043652f30a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6e30db789c995fc3ace001ecb6f963c909bd373c5d05e9b257c920043652f30a", kill_on_drop: false }`
[INFO] [stdout] 6e30db789c995fc3ace001ecb6f963c909bd373c5d05e9b257c920043652f30a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] a6d3138c6a0ce58006865a1df1d6d54e96be016ffdf0bae2cc30a00e7b513172
[INFO] running `Command { std: "docker" "start" "-a" "a6d3138c6a0ce58006865a1df1d6d54e96be016ffdf0bae2cc30a00e7b513172", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `nom::do_parse`
[INFO] [stderr]  --> src/parser.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use nom::do_parse;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `nom::multi::many1`
[INFO] [stderr]  --> src/parser.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use nom::multi::many1;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `one_of`
[INFO] [stderr]  --> src/parser.rs:8:32
[INFO] [stderr]   |
[INFO] [stderr] 8 | use nom::character::complete::{one_of, alpha1, space0, multispace0, char};
[INFO] [stderr]   |                                ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `map`
[INFO] [stderr]  --> src/parser.rs:9:34
[INFO] [stderr]   |
[INFO] [stderr] 9 | use nom::combinator::{recognize, map};
[INFO] [stderr]   |                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `input`
[INFO] [stderr]   --> src/parser.rs:16:14
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub fn parse(input: &str) -> IResult<&str, Statement> {
[INFO] [stderr]    |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `input`
[INFO] [stderr]   --> src/parser.rs:20:20
[INFO] [stderr]    |
[INFO] [stderr] 20 | fn parse_statement(input: Span) -> IResult<Span, Statement> {
[INFO] [stderr]    |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `input`
[INFO] [stderr]   --> src/parser.rs:78:25
[INFO] [stderr]    |
[INFO] [stderr] 78 | fn parse_arithmetic_exp(input: Span) -> IResult<Span, AExp> {
[INFO] [stderr]    |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `input`
[INFO] [stderr]   --> src/parser.rs:82:14
[INFO] [stderr]    |
[INFO] [stderr] 82 | fn parse_num(input: Span) -> IResult<Span, Statement> {
[INFO] [stderr]    |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `input`
[INFO] [stderr]   --> src/parser.rs:86:19
[INFO] [stderr]    |
[INFO] [stderr] 86 | fn parse_arith_op(input: Span) -> IResult<Span, AOp> {
[INFO] [stderr]    |                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `input`
[INFO] [stderr]   --> src/parser.rs:90:19
[INFO] [stderr]    |
[INFO] [stderr] 90 | fn parse_bool_exp(input: Span) -> IResult<Span, BExp> {
[INFO] [stderr]    |                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_statement` is never used
[INFO] [stderr]   --> src/parser.rs:20:4
[INFO] [stderr]    |
[INFO] [stderr] 20 | fn parse_statement(input: Span) -> IResult<Span, Statement> {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_assignment` is never used
[INFO] [stderr]   --> src/parser.rs:32:4
[INFO] [stderr]    |
[INFO] [stderr] 32 | fn parse_assignment(i: Span) -> IResult<Span, Statement> {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_ident` is never used
[INFO] [stderr]   --> src/parser.rs:42:4
[INFO] [stderr]    |
[INFO] [stderr] 42 | fn parse_ident(i: Span) -> IResult<Span, Ident> {
[INFO] [stderr]    |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_skip` is never used
[INFO] [stderr]   --> src/parser.rs:46:4
[INFO] [stderr]    |
[INFO] [stderr] 46 | fn parse_skip(i: Span) -> IResult<Span, Statement> {
[INFO] [stderr]    |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_if` is never used
[INFO] [stderr]   --> src/parser.rs:50:4
[INFO] [stderr]    |
[INFO] [stderr] 50 | fn parse_if(i: Span) -> IResult<Span, Statement> {
[INFO] [stderr]    |    ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_while` is never used
[INFO] [stderr]   --> src/parser.rs:62:4
[INFO] [stderr]    |
[INFO] [stderr] 62 | fn parse_while(i: Span) -> IResult<Span, Statement> {
[INFO] [stderr]    |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_seq` is never used
[INFO] [stderr]   --> src/parser.rs:72:4
[INFO] [stderr]    |
[INFO] [stderr] 72 | fn parse_seq(i: Span) -> IResult<Span, Statement> {
[INFO] [stderr]    |    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_arithmetic_exp` is never used
[INFO] [stderr]   --> src/parser.rs:78:4
[INFO] [stderr]    |
[INFO] [stderr] 78 | fn parse_arithmetic_exp(input: Span) -> IResult<Span, AExp> {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_num` is never used
[INFO] [stderr]   --> src/parser.rs:82:4
[INFO] [stderr]    |
[INFO] [stderr] 82 | fn parse_num(input: Span) -> IResult<Span, Statement> {
[INFO] [stderr]    |    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_arith_op` is never used
[INFO] [stderr]   --> src/parser.rs:86:4
[INFO] [stderr]    |
[INFO] [stderr] 86 | fn parse_arith_op(input: Span) -> IResult<Span, AOp> {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_bool_exp` is never used
[INFO] [stderr]   --> src/parser.rs:90:4
[INFO] [stderr]    |
[INFO] [stderr] 90 | fn parse_bool_exp(input: Span) -> IResult<Span, BExp> {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `ws` is never used
[INFO] [stderr]    --> src/parser.rs:145:4
[INFO] [stderr]     |
[INFO] [stderr] 145 | fn ws<I, O, E, F>(inner: F) -> impl FnMut(I) -> IResult<I, O, E>
[INFO] [stderr]     |    ^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `mws` is never used
[INFO] [stderr]    --> src/parser.rs:159:4
[INFO] [stderr]     |
[INFO] [stderr] 159 | fn mws<I, O, E, F>(inner: F) -> impl FnMut(I) -> IResult<I, O, E>
[INFO] [stderr]     |    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/parser.rs:16:21
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub fn parse(input: &str) -> IResult<&str, Statement> {
[INFO] [stderr]    |                     ^^^^             ^^^^  ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                     |                |
[INFO] [stderr]    |                     |                the same lifetime is elided here
[INFO] [stderr]    |                     the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub fn parse(input: &str) -> IResult<&str, Statement<'_>> {
[INFO] [stderr]    |                                                     ++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused implementer of `FnMut` that must be used
[INFO] [stderr]   --> src/parser.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 21 | /     alt((
[INFO] [stderr] 22 | |         parse_assignment,
[INFO] [stderr] 23 | |         parse_skip,
[INFO] [stderr] 24 | |         parse_if,
[INFO] [stderr] 25 | |         parse_while,
[INFO] [stderr] 26 | |         parse_seq
[INFO] [stderr] 27 | |     ));
[INFO] [stderr]    | |______^
[INFO] [stderr]    |
[INFO] [stderr]    = note: closures are lazy and do nothing unless called
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `wl-lang` (lib) generated 25 warnings (run `cargo fix --lib -p wl-lang` to apply 11 suggestions)
[INFO] [stderr] warning: `wl-lang` (lib test) generated 24 warnings (24 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.08s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v6.1.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/wl_lang-fdf9c9ba4a988829)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test parser::tests::test_parse_ident ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/wl_lang-d913d50520f7bb77)
[INFO] [stderr]    Doc-tests wl_lang
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "a6d3138c6a0ce58006865a1df1d6d54e96be016ffdf0bae2cc30a00e7b513172", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a6d3138c6a0ce58006865a1df1d6d54e96be016ffdf0bae2cc30a00e7b513172", kill_on_drop: false }`
[INFO] [stdout] a6d3138c6a0ce58006865a1df1d6d54e96be016ffdf0bae2cc30a00e7b513172
